home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group95b.txt
/
000070_icon-group-sender _Mon Jun 26 17:08:50 1995.msg
< prev
next >
Wrap
Internet Message Format
|
1995-09-18
|
5KB
Received: by cheltenham.cs.arizona.edu; Sat, 8 Jul 1995 10:57:50 MST
Subject: problem building icon 9.0 under unixware 2.01
To: pacbell!cs.arizona.edu!icon-group@pacbell.com
Date: Mon, 26 Jun 1995 17:08:50 -0700 (PDT)
From: "Mike LeRoy" <mslbrb!mike@pacbell.com>
Cc: mike@gw.PacBell.COM (Mike LeRoy)
X-Mailer: ELM [version 2.4 PL23]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Message-Id: <2fef4c130.6ae7@mslbrb>
Content-Transfer-Encoding: 7bit
Content-Length: 4437
Errors-To: icon-group-errors@cs.arizona.edu
hi,
I've been trying to build icon v9 under UnixWare 2.01 for a while
and have come up with a probem in the data.r and other *.r. with
the D_Integer, D_Null construction.
Here's the sample chunks in 1 piece to cause the error:
- - - - cut here - - - - - - - - -
/*
* try to show problem under UnixWare 2.01
*
*/
/*
* from typdefs.h
*/
#if IntBits != WordBits
typedef long int word;
typedef unsigned long int uword;
#else /* IntBits != WordBits */
typedef int word;
#ifdef CDC_VXVE
typedef uword;
#else /* CDC_VXVE */
typedef unsigned int uword;
#endif /* CDC_VXVE */
#endif /* IntBits != WordBits */
typedef int (*fptr)();
typedef struct descrip *dptr;
typedef word C_integer;
/*
* from rstructs.h
*/
struct descrip { /* descriptor */
word dword; /* type field */
union {
word integr; /* integer value */
char *sptr; /* pointer to character string */
union block *bptr; /* pointer to a block */
dptr descptr; /* pointer to a descriptor */
} vword;
};
/*
* from config.h
*/
#ifndef WordBits
#define WordBits 32
#endif /* WordBits */
#ifndef IntBits
#define IntBits WordBits
#endif /* IntBits */
/*
* from cpuconf.h
*/
#if WordBits == 64
#ifndef MinLong
#define MinLong ((long int)0x8000000000000000) /* smallest long integer */
#endif
#ifndef MaxLong
#define MaxLong ((long int)0x7fffffffffffffff) /* largest long integer */
#endif
#define MaxStrLen 017777777777L /* maximum string length */
#ifndef MaxNegInt
#define MaxNegInt "-9223372036854775808"
#endif
#ifndef F_Nqual
#define F_Nqual 0x8000000000000000 /* set if NOT string qualifier */
#endif /* F_Nqual */
#ifndef F_Var
#define F_Var 0x4000000000000000 /* set if variable */
#endif /* F_Var */
#ifndef F_Ptr
#define F_Ptr 0x1000000000000000 /* set if value field is pointer */
#endif /* F_Ptr */
#ifndef F_Typecode
#define F_Typecode 0x2000000000000000 /* set if dword includes type code */
#endif /* F_Typecode */
#endif /* WordBits == 64 */
/*
* 32-bit words.
*/
#if WordBits == 32
#define MaxLong ((long int)017777777777L) /* largest long integer */
#define MinLong ((long int)020000000000L) /* smallest long integer */
#define MaxNegInt "-2147483648"
#define MaxStrLen 0777777777 /* maximum string length */
#define F_Nqual 0x80000000 /* set if NOT string qualifier */
#define F_Var 0x40000000 /* set if variable */
#define F_Ptr 0x10000000 /* set if value field is pointer */
#define F_Typecode 0x20000000 /* set if dword includes type code */
#endif /* WordBits == 32 */
/*
* from rmacros.h
*/
#define T_Null 0 /* null value */
#define T_Integer 1 /* integer */
#define D_Typecode (F_Nqual | F_Typecode)
#define D_Null (T_Null | D_Typecode)
#define D_Integer (T_Integer | D_Typecode)
struct descrip kywd_err = {D_Integer}; /* &error */
struct descrip kywd_pos = {D_Integer}; /* &pos */
struct descrip x_x = {T_Integer};
struct descrip y_y = {D_Typecode};
struct descrip z_z = {F_Nqual};
struct descrip w_z = {F_Typecode};
- - - - cut here - - - - - - - - -
the output of cc:
UX:acomp: WARNING: "prob.c", line 122: initializer does not fit: 0xa0000001
UX:acomp: WARNING: "prob.c", line 123: initializer does not fit: 0xa0000001
UX:acomp: WARNING: "prob.c", line 126: initializer does not fit: 0xa0000000
UX:acomp: WARNING: "prob.c", line 127: initializer does not fit: 0x80000000
Undefined first referenced
symbol in file
main /usr/ccs/lib/crt1.o
UX:ld: ERROR: a.out: fatal error: Symbol referencing errors. No output written to a.out
- - - - -
the solution I think is to change typedef int word -> typedef unsigned word
What other problems have I caused by doing this?
mike
--
Mike LeRoy 4909 Sea Wolf Drive Santa Rosa, CA 95409-3526
pacbell.com!mslbrb!mike voice (707) 538-7832